package com.asm.shiroweb.common.constant;

/**
 * 缓存时间管理
 */
public enum CacheExpireContant {

    /*
    ****************************************************************
    /                                                              /
    /  redis管理session会话缓存时间                                  /
    /  1. 每请求一次 redis里session有效期更新                         /
    /  2. 每次失效，重新生成一个key名称                                /
    /                                                              /
    /  逻辑上：                                                     /
    /  1. 如果到期了： 没有 记住我 ，则退出                            /
    /  2. 记住我：                                                  /
    /      authc将变成user 最低访问权限                              /
    /  3. 一直达到 rememberMe cookie 时间到了，                      /
    /     redis里session 时间也到了，将是真正退出状态                  /
    /                                                              /
    ----------------------------------------------------------------
     */
    REDIS_SESSION_EXPIRE(120),
    SHIRO_REMEMBER_EXPIRE(300),     // shiro 的 rememberMe 记住我 时间

    REDIS_CACHE_MANAGER_EXPIRE(60);  // shiro 的 权限管理缓存，不必频繁访问数据库验证权限角色

    private int seconds; // 秒
    CacheExpireContant(int val)
    {
        this.seconds = val;
    }


    public int getSeconds() {
        return seconds;
    }
}
